﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Configuration;
namespace Intrack
{
    public class wsMensagem
    {
        public string strMensagemRetorno { get; set; }
    }

    /// <summary>
    /// Summary description for wsMobbli
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class wsMobbli : System.Web.Services.WebService
    {
        dbEntidadesMob db = new dbEntidadesMob();

        private bool ValidaChave(string strChave)
        {
            if (String.Compare(ConfigurationManager.AppSettings["KeyMobbli"], strChave) == 0) return true;
            else return false;
        }

        [WebMethod]
        public tbFuncionarios Autenticar(string strChave, string strLogin, string strSenha)
        {
            tbFuncionarios fn = new tbFuncionarios();
            
            if (ValidaChave(strChave))
            {
                BLLFuncionario blFn = new BLLFuncionario();
                fn = blFn.LerPorLogin(strLogin);

                if ((fn != null) && (fn.Senha.CompareTo(strSenha) == 0)) return fn;
                else fn = null;

            }
            return fn;
           
        }
        [WebMethod]
        public tbOS LerDadosOS(string strCodOS)
        {
            tbOS os = new tbOS();

            BLLOS bllOS = new BLLOS();
            os = bllOS.LerPorCodOS(strCodOS);
            return os;
        }


        [WebMethod]
        public List<tbOS> ListarOSs()
        {
            BLLOS bllOS = new BLLOS();
            return bllOS.Listar();
            
        }

        [WebMethod]
        public tbCliente LerDadosCliente(string lngIdCliente)
        {
            tbCliente cl = new tbCliente();

            BLLCliente blCl = new BLLCliente();
            cl = blCl.LerPorId(Int32.Parse(lngIdCliente));
            return cl;
        }
        
        [WebMethod]
        public string InserirCoordenadas(string strChave, int idCliente, string lat, string lon)
        {
            string msgRetorno = "";
            try
            {
                if (ValidaChave(strChave))
                {

                    if (!string.IsNullOrEmpty(lat.Trim()) && !string.IsNullOrEmpty(lon.Trim()))
                    {
                        BLLCliente blCl = new BLLCliente();
                        tbCliente cl = new tbCliente();

                        cl = blCl.LerPorId(idCliente);

                        cl.Latit = lat;
                        cl.Longi = lon;

                        blCl.Salvar(cl);

                        msgRetorno = "Registro salvo com sucesso!";
                    }
                    else
                    {
                        msgRetorno = "Problema no preenchimento das coordenadas!";
                    }

                }
                else
                {
                    msgRetorno = "Acesso negado!";
                }
            
            }
            catch (Exception ex)
            {

                msgRetorno = ex.Message;
            }

            return msgRetorno;
            
        }
            
            
            
    }
}

